﻿/*
 * Created by SharpDevelop.
 * User: CeCi
 * Date: 02/04/2014
 * Time: 05:56 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Data;
using System.Collections.Generic;

namespace Gestión_UTN.blimpl
{
	/// <summary>
	/// Description of cursadablimpl.
	/// </summary>
	public class cursadablimpl:Gestión_UTN.bl.cursadabl
	{
		private static Gestión_UTN.da.cursadada createCursada = Gestión_UTN.factories.dafactory.createCursada();
		
		public cursadablimpl()
		{
		}
		
		public bool SaveCursada(int anio, int cuatrimestre)
		{
			bool ingresada = false;
			
			try 
			{
				ingresada = (0 != anio && 0 != cuatrimestre)
					? createCursada.SaveCursada(anio,cuatrimestre)
					: false;
			} 
			catch (Exception)
			{
				ingresada = false;
			}
			
			return ingresada;
		}
		
		public bool DeleteCursada(int id)
		{
			bool eliminada = false;
			
			try 
			{
				eliminada = (0 != id)
					? createCursada.DeleteCursada(id)
					: false;
			} 
			catch (Exception) 
			{
				eliminada = false;
			}
			
			return eliminada;
		}
		
		public bool ModifyCursada(int id, int anio, int cuatrimestre)
		{
			bool modificada = false;
			
			try 
			{
				modificada = (0 != id && 0 != anio && 0 != cuatrimestre)
					? createCursada.ModifyCursada(id,anio,cuatrimestre)
					: false;
			} 
			catch (Exception) 
			{
				modificada = false;
			}
			
			return modificada;
		}
		
		public System.Data.DataTable FindAllCursadas()
		{
			DataTable tablaCursadas = null;
			
			try 
			{
				tablaCursadas = createCursada.FindAllCursadas();
			} 
			catch (Exception) 
			{
				tablaCursadas = null;
			}
			
			return tablaCursadas;
		}
		
		public List<Gestión_UTN.bo.Cursadabo> FindCursadasByAnio(int anio)
		{
			List<Gestión_UTN.bo.Cursadabo> cursadas = null;
			
			try 
			{
				List<Gestión_UTN.Entities.Cursada> curs = ( 0 != anio)
					? createCursada.FindCursadasByAnio(anio)
					: null;
				
				if (null != curs) 
				{
					cursadas = new List<Gestión_UTN.bo.Cursadabo>();
					
					foreach (var cur in curs) 
					{
						Gestión_UTN.bo.Cursadabo c =
							new Gestión_UTN.bo.Cursadabo(cur.Id,
							                             cur.Anio,
							                             cur.Cuatrimestre);
						cursadas.Add(c);
						
						c = null;
					}
					
				}
			} 
			catch (Exception) 
			{
				cursadas = null;
			}
			
			return cursadas;
		}
		
		public Gestión_UTN.bo.Cursadabo FindCursadasById(int id)
		{
			Gestión_UTN.bo.Cursadabo cursada = null;
			
			try 
			{
				Gestión_UTN.Entities.Cursada cur = ( 0 != id)
					? createCursada.FindCursadasById(id)
					: null;
				
				cursada = (null != cur) 
					? new Gestión_UTN.bo.Cursadabo(id,cur.Anio,cur.Cuatrimestre)
					: null;
			} 
			catch (Exception) 
			{
				cursada = null;
			}
			
			return cursada;
		}
	}
}
